home *** CD-ROM | disk | FTP | other *** search
- BINARIES
- --------
- Amiga binaries are available from ftp.informatik.uni-oldenburg.de
- [134.106.1.9], /pub/netpbm/amiga. AmiNet will probably carry them too,
- look under /pub/aminet/gfx/pbm at your nearest AmiNet mirror.
-
-
- COMPILATION
- -----------
- The Makefile.amiga files in the pbm, pgm, ppm and pnm subdirs are set up
- for compilation with DICE (reg-version). Compilation requires about 2MB
- RAM (4MB if you want to compile libtiff), 6MB of HD space, and takes about
- 45 minutes on a 25MHz 68030 (A2500/30). If you want to recompile with SAS/C
- or GCC, you must edit pbmplus.h and the Makefiles. Compile the pbm stuff
- first, then pgm, ppm, and pnm last. The tiff library is only needed for
- tifftopnm and pnmtotiff.
-
- The following symbols should be set in pbmplus.h:
-
- A_SMALLSTACK
- Moves large arrays off the stack into globals.
-
- A_FRAGARRAY
- with this define, pm_allocarray() tries to allocate an array row-by-row,
- if the first malloc(all-in-one-big-chunk) fails. Useful for micros
- without VM, where it is possible that there is enough memory, but it is
- fragmented.
-
- A_RGBENV
- If this define is used, RGB_DB (see pbmplus.h) defines the name of an
- an environment variable that holds the path&name of the X11 color names
- file, instead of compiling a fixed path into the programs. So instead of
- looking for e.g. "/usr/lib/X11/rgb.def", an environment variable (I took
- "RGBDEF") is consulted for the path&name of the X11 names file.
-
- A_STRERROR
- if your library uses strerror() instead of sys_errlist[]
-
-
- Here is a short explanations of compiler options used in the DICE Makefiles:
-
- -O0 place object files in current dir, not temporary dir
- -E xxx write error messages into file xxx
- -T xxx use directory xxx for temporary files
- -ms place strings constants in read-only code hunk
- -mu unix-compat, if there are two definitions for the
- same variable (at the same scope), merge them into one
- -gs generate stack-checking code (see pbmplus.h: whenever available
- stack falls below _stack_fudge, allocate a new stack of size
- _stack_chunk)
- -proto strict prototype checking
- -mRR functions take their args in registers (requires full prototyping)
- -mD large data model (absolute addressing instead of A4-rel)
- -mC large code model (absolute addressing instead of PC-rel)
- -r generate "pure" executable (no -mD and -mC allowed)
- -S alternate library section naming (used for link libs only)
-
-
- Naming conventions in the Makefiles:
-
- RLIBP?M small data library, args in registers
- RLLIBP?M large data library, args in registers
- SLIBP?M small data library, args on stack
- SLLIB?M large data library, args on stack
-
- RALLCFLAGS options to compile register-args executables
- SALLCFLAGS options to compile stack-args executables
-
- BINS small data executables, register-args
- LBINS large data executables, register-args
- SBINS small data executables, stack-args
- SLBINS large data executables, stack-args
-
- MATHBINS \
- LMATHBINS \ same as above, but need floating-point
- SMATHBINS / version of printf/scanf (link with math-lib)
- SLMATHBINS /
-
- I tried to use small data/reg-args whenever possible. Some programs
- had to be compiled with large data, and some with stack-args or the
- compiler would complain. If you are not using DICE, you might want to
- try to compile these with small data/reg-args first, maybe your compiler
- accepts this.
-
-
- -Ingo
- email: Ingo.Wilken@informatik.uni-oldenburg.de
-
-